--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / public / assets / js / codec2-emscripten / index.html
Displaying Raw • Download
meshchatx/src/frontend/public/assets/js/codec2-emscripten/index.html b05bf1bb17d25237fd1ce1d54e2aaf9536d0c506 (b05bf1bb) Text, 5.02 KB
Tb4b4b4<Tff7b72htmlTb4b4b4>
Tb4b4b4<Tff7b72bodyTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Select a *.wav audio file.Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3idTff7b72=Ta5d6ff"file-input" Te6edf3typeTff7b72=Ta5d6ff"file" Te6edf3acceptTff7b72=Ta5d6ff"audio/wav" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Select Codec2 Mode:Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72select Te6edf3idTff7b72=Ta5d6ff"codec-mode"Tb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"3200"Tb4b4b4>3200Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"2400"Tb4b4b4>2400Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"1600"Tb4b4b4>1600Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"1400"Tb4b4b4>1400Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"1300"Tb4b4b4>1300Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"1200"Tb4b4b4>1200Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"700C" Te6edf3selectedTb4b4b4>700CTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"450"Tb4b4b4>450Tb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tff7b72option Te6edf3valueTff7b72=Ta5d6ff"450PWB"Tb4b4b4>450PWBTb4b4b4<Tb4b4b4/Tff7b72optionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72selectTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Click to encode audio file as Codec2Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"submit" Te6edf3onclickTff7b72=Ta5d6ff"encode()"Tb4b4b4>EncodeTb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Codec2 audio represented as Base64Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72textarea Te6edf3idTff7b72=Ta5d6ff"encoded-output" Te6edf3styleTff7b72=Ta5d6ff"width: 500px" Te6edf3rowsTff7b72=Ta5d6ff"8"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72textareaTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Click to decode Codec2 audio back to WAVE audioTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button Te6edf3typeTff7b72=Ta5d6ff"submit" Te6edf3onclickTff7b72=Ta5d6ff"decode()"Tb4b4b4>DecodeTb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Decoded audio available to listen toTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72audio Te6edf3idTff7b72=Ta5d6ff"decoded-audio" Te6edf3controlsTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72audioTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3styleTff7b72=Ta5d6ff"margin-bottom: 1rem"Tb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Input File Size: Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"input-size"Tb4b4b4>0 BytesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Encoded Data Size: Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"encoded-size"Tb4b4b4>0 BytesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>Decoded Data Size: Tb4b4b4<Tff7b72span Te6edf3idTff7b72=Ta5d6ff"decoded-size"Tb4b4b4>0 BytesTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"c2enc.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"c2dec.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"sox.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72script Te6edf3srcTff7b72=Ta5d6ff"codec2-lib.js"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
T8b949e// find elements
Tff7b72const Te6edf3codecModeElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"codec-mode"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3encodedOutputElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"encoded-output"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fileInputElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"file-input"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3decodedAudioElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"decoded-audio"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3inputSizeElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"input-size"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3encodedSizeElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"encoded-size"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3decodedSizeElement Tff7b72= Tffa657documentTb4b4b4.Te6edf3getElementByIdTb4b4b4(Ta5d6ff"decoded-size"Tb4b4b4)Tb4b4b4;
T8b949e// update file size stats on change
Te6edf3fileInputElementTb4b4b4.Te6edf3onchange Tff7b72= Tff7b72function Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3fileInputElementTb4b4b4.Te6edf3filesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3file Tff7b72= Te6edf3fileInputElementTb4b4b4.Te6edf3filesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Te6edf3inputSizeElementTb4b4b4.Te6edf3innerText Tff7b72= Te6edf3formatBytesTb4b4b4(Te6edf3fileTb4b4b4.Te6edf3sizeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4;
Tff7b72async Tff7b72function Te6edf3encodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3file Tff7b72= Te6edf3fileInputElementTb4b4b4.Te6edf3filesTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3fileTb4b4b4) Tb4b4b4{
Te6edf3alertTb4b4b4(Ta5d6ff"select a file first"Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3mode Tff7b72= Te6edf3codecModeElementTb4b4b4.Te6edf3valueTb4b4b4;
Tff7b72const Te6edf3buffer Tff7b72= Tff7b72await Te6edf3Codec2LibTb4b4b4.Te6edf3readFileAsArrayBufferTb4b4b4(Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3rawBuffer Tff7b72= Tff7b72await Te6edf3Codec2LibTb4b4b4.Te6edf3audioFileToRawTb4b4b4(Te6edf3bufferTb4b4b4, Te6edf3fileTb4b4b4.Te6edf3name Tff7b72|| Ta5d6ff"input.wav"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3encoded Tff7b72= Tff7b72await Te6edf3Codec2LibTb4b4b4.Te6edf3runEncodeTb4b4b4(Te6edf3modeTb4b4b4, Te6edf3rawBufferTb4b4b4)Tb4b4b4;
Te6edf3encodedOutputElementTb4b4b4.Te6edf3value Tff7b72= Te6edf3Codec2LibTb4b4b4.Te6edf3arrayBufferToBase64Tb4b4b4(Te6edf3encodedTb4b4b4)Tb4b4b4;
Te6edf3inputSizeElementTb4b4b4.Te6edf3innerText Tff7b72= Te6edf3formatBytesTb4b4b4(Te6edf3fileTb4b4b4.Te6edf3sizeTb4b4b4)Tb4b4b4;
Te6edf3encodedSizeElementTb4b4b4.Te6edf3innerText Tff7b72= Te6edf3formatBytesTb4b4b4(Te6edf3encodedTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72async Tff7b72function Te6edf3decodeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3mode Tff7b72= Te6edf3codecModeElementTb4b4b4.Te6edf3valueTb4b4b4;
Tff7b72const Te6edf3input Tff7b72= Te6edf3encodedOutputElementTb4b4b4.Te6edf3valueTb4b4b4;
Tff7b72const Te6edf3encoded Tff7b72= Te6edf3Codec2LibTb4b4b4.Te6edf3base64ToArrayBufferTb4b4b4(Te6edf3inputTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3decodedRaw Tff7b72= Tff7b72await Te6edf3Codec2LibTb4b4b4.Te6edf3runDecodeTb4b4b4(Te6edf3modeTb4b4b4, Te6edf3encodedTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3decodedWav Tff7b72= Tff7b72await Te6edf3Codec2LibTb4b4b4.Te6edf3rawToWavTb4b4b4(Te6edf3decodedRawTb4b4b4)Tb4b4b4;
Te6edf3decodedAudioElementTb4b4b4.Te6edf3src Tff7b72= Te6edf3URLTb4b4b4.Te6edf3createObjectURLTb4b4b4(Tff7b72new Te6edf3BlobTb4b4b4(Tb4b4b4[Te6edf3decodedWavTb4b4b4]Tb4b4b4, Tb4b4b4{ Te6edf3typeTff7b72: Ta5d6ff"audio/wav" Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3decodedSizeElementTb4b4b4.Te6edf3innerText Tff7b72= Te6edf3formatBytesTb4b4b4(Te6edf3decodedWavTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3formatBytesTb4b4b4(Te6edf3bytesTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3bytes Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"0 Bytes"Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3k Tff7b72= T79c0ff1024Tb4b4b4;
Tff7b72const Te6edf3decimals Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72const Te6edf3sizes Tff7b72= Tb4b4b4[Ta5d6ff"Bytes"Tb4b4b4, Ta5d6ff"KB"Tb4b4b4, Ta5d6ff"MB"Tb4b4b4, Ta5d6ff"GB"Tb4b4b4, Ta5d6ff"TB"Tb4b4b4, Ta5d6ff"PB"Tb4b4b4, Ta5d6ff"EB"Tb4b4b4, Ta5d6ff"ZB"Tb4b4b4, Ta5d6ff"YB"Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3i Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Tffa657MathTb4b4b4.Te6edf3logTb4b4b4(Te6edf3bytesTb4b4b4) Tff7b72/ Tffa657MathTb4b4b4.Te6edf3logTb4b4b4(Te6edf3kTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Tffa657parseFloatTb4b4b4(Tb4b4b4(Te6edf3bytes Tff7b72/ Tffa657MathTb4b4b4.Te6edf3powTb4b4b4(Te6edf3kTb4b4b4, Te6edf3iTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toFixedTb4b4b4(Te6edf3decimalsTb4b4b4)Tb4b4b4) Tff7b72+ Ta5d6ff" " Tff7b72+ Te6edf3sizesTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72bodyTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72htmlTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────